/**
 * 
 */
package org.mtmi.ui.scenes;

import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Display;

/**
 * Color enumeration. All colors used should be managed by ColorManager and then declared in this enum.
 *  
 * @author jgout
 */
public class COLOR {
	
	public static Color sceneFg;
	public static Color sceneBg;
	public static Color buttonTappedFg;
	public static Color buttonTappedBg;
	public static Color sliderThumbBg;
	public static Color sliderBg;
	public static Color black, grey0; 
	public static Color grey5;
	public static Color grey10;
	public static Color grey20;
	public static Color grey30;
	public static Color grey40;
	public static Color grey50;
	public static Color grey60;
	public static Color grey70;
	public static Color grey80;
	public static Color grey90;
	public static Color grey100, white; 
	public static Color red, dark_red, light_red;
	public static Color green, dark_green, light_green ;
	public static Color blue, dark_blue, light_blue;
	public static Color yellow, dark_yellow, light_yellow;
	public static Color magenta, dark_magenta, light_magenta ; 
	public static Color cyan, dark_cyan, light_cyan ; 
	public static Color orange, dark_orange, light_orange ; 
	
	public static Color ListForeground;
	public static Color ListBackground;
	public static Color ListSelectionForeground;
	public static Color ListSelectionBackground;
	

	public static void initColors( Display display ) 
	{
		sceneFg = new Color( display, 250, 250, 250);
		sceneBg =  new Color( display, 12, 12, 12);
		buttonTappedBg =  new Color( display, 180, 180, 180);
		buttonTappedFg =  new Color( display, 50, 50, 50);
		sliderBg =  new Color( display, 230, 230, 230);
		sliderThumbBg =  new Color( display, 80, 80, 80);
		
		red =  new Color( display, 255, 0, 0);
		dark_red =  new Color( display, 180, 0, 0);
		light_red =  new Color( display, 255, 200, 200);
		green =  new Color( display, 0, 255, 0 );
		light_green =  new Color( display, 200, 255, 200 );
		blue =  new Color( display, 0, 0, 255 );
		yellow =  new Color( display, 255, 255, 0);
		dark_yellow =  new Color( display, 128, 128, 0);
		light_yellow =  new Color( display, 255, 255, 128);
		dark_blue =  new Color( display, 0, 0, 180);
		light_blue =  new Color( display, 200, 200, 255);
		dark_green=  new Color( display, 0, 180, 0);
		magenta =  new Color( display, 255, 0, 255);
		dark_magenta =  new Color( display, 180, 0, 180);
		light_magenta =  new Color( display, 255, 200, 255);
		cyan = new Color( display, 0, 255, 255 );
		light_cyan = new Color( display, 200, 255, 255 );
		dark_cyan = new Color( display, 0, 180, 180 );
		orange =  new Color( display, 255, 128, 0);
		light_orange =  new Color( display, 255, 200, 140 );
		dark_orange =  new Color( display, 200, 100, 0 );
		
		///greys ...
		grey0 =  new Color( display, 0, 0, 0);
		grey5 =  new Color( display, 13, 13, 13);
		grey10 =  new Color( display, 26, 26, 26);
		grey20 =  new Color( display, 51, 51, 51);
		grey30 =  new Color( display, 77, 77, 77);
		grey40 =  new Color( display, 102, 102, 102);
		grey50 =  new Color( display, 128, 128, 128);
		grey60 =  new Color( display, 153, 153, 153);
		grey70 =  new Color( display, 179, 179, 179);
		grey80 =  new Color( display, 204, 204, 204);
		grey90 =  new Color( display, 230, 230, 230);
		grey100 =  new Color( display, 255, 255, 255);
		black = grey0;
		white = grey100;
		
		ListForeground = grey0;
		ListBackground = grey90;
		ListSelectionForeground = grey100;
		ListSelectionBackground = dark_blue;
	}
	
	public static void disposeColors() 
	{
		sceneFg.dispose();
		sceneBg.dispose();
		buttonTappedBg.dispose();
		buttonTappedFg.dispose();
		sliderBg.dispose();
		sliderThumbBg.dispose();
		
		red.dispose();
		light_red.dispose();
		dark_red.dispose();
		green.dispose();
		light_green.dispose();
		dark_green.dispose();
		blue.dispose();
		light_blue.dispose();
		dark_blue.dispose();
		yellow.dispose();
		light_yellow.dispose();
		dark_yellow.dispose();
		magenta.dispose();
		light_magenta.dispose();
		dark_magenta.dispose();
		cyan.dispose();
		light_cyan.dispose();
		dark_cyan.dispose();
		orange.dispose();
		light_orange.dispose();
		dark_orange.dispose();
		///greys ...
		grey0.dispose();
		grey5.dispose();
		grey10.dispose();
		grey20.dispose();
		grey30.dispose();
		grey40.dispose();
		grey50.dispose();
		grey60.dispose();
		grey70.dispose();
		grey80.dispose();
		grey90.dispose();
		grey100.dispose();
	}
	
}